Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>JavaScript Object Notation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/JavaScript_Object_Notation"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-JavaScript_Object_Notation rootpage-JavaScript_Object_Notation skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span lang="en">JavaScript Object Notation</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><p class="mw-empty-elt">
</p>

<div class="infobox_v3 infobox infobox--frwiki noarchive large"><div class="entete icon informatique" style="background-color:#C0C0C0"><div>JSON<br><small>JavaScript Object Notation</small><style data-mw-deduplicate="TemplateStyles:r228712691">
/* start https://fr.wikipedia.org/ */


.mw-parser-output .entete.informatique{background-image:url("./_mw_/Picto.nfo.png")}


/* end https://fr.wikipedia.org/ */
</style></div></div><div><div class="images" style="padding:2px 0"></div><div class="legend">logo du format JSON</div></div><table><caption style="text-align:center;background-color:#C0C0C0">Caractéristiques</caption><tbody><tr class=""><th scope="row"><a href="Extension_de_nom_de_fichier" title="Extension de nom de fichier">Extension</a></th><td class=""><div>
<span class="wd_p1195"><code>.json</code></span></div></td></tr><tr class=""><th scope="row"><a href="Type_de_m%C3%A9dias" title="Type de médias">Type MIME</a></th><td class=""><div>
<span class="wd_p1163"><code> application/json</code></span></div></td></tr><tr class=""><th scope="row"><a href="Base_PRONOM" title="Base PRONOM">PUID</a></th><td class=""><div>
<span class="wd_p2748"><a rel="nofollow" class="external text" href="https://www.nationalarchives.gov.uk/pronom/fmt/817">fmt/817</a></span></div></td></tr><tr class=""><th scope="row">Développé par</th><td class=""><div>
<a href="Douglas_Crockford" title="Douglas Crockford">Douglas Crockford</a></div></td></tr><tr class=""><th scope="row">Version initiale</th><td class=""><div>
2001</div></td></tr><tr class=""><th scope="row">Type de format</th><td class=""><div>
Texte</div></td></tr><tr class=""><th scope="row">Basé sur</th><td class=""><div>
<span class="wd_p144"><a href="JavaScript" title="JavaScript">JavaScript</a></span></div></td></tr><tr class=""><th scope="row">Norme</th><td class=""><div>
<a href="https://datatracker.ietf.org/doc/html/rfc8259" class="extiw external" title="rfc:8259">RFC 8259</a> et ECMA-404</div></td></tr><tr class=""><th scope="row">Spécification</th><td class=""><div>
<a href="Format_ouvert" title="Format ouvert">Format ouvert</a> </div></td></tr><tr class=""><th scope="row">Site web</th><td class=""><div>
<span class="wd_p856"><a rel="nofollow" class="external text" href="https://json.org/json-fr.html">json.org/json-fr.html</a></span></div></td></tr></tbody></table></div>
<p><b><span class="lang-en" lang="en"><i>JavaScript Object Notation</i></span></b> (<b>JSON</b>) est un <a href="Format_de_donn%C3%A9es" title="Format de données">format de données</a> textuel dérivé de la notation des <a href="Tableau_associatif#Javascript" title="Tableau associatif">objets</a> du langage <a href="JavaScript" title="JavaScript">JavaScript</a>. Il concurrence <a href="Extensible_Markup_Language" title="Extensible Markup Language">XML</a> pour la représentation et la transmission d’information structurée<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>.
</p><p>Imaginé par <a href="Douglas_Crockford" title="Douglas Crockford">Douglas Crockford</a>, le format JSON a été introduit pour la première fois sur la page json.org en 2001<sup id="cite_ref-:1_2-0" class="reference"><a href="#cite_note-:1-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>. Cette démarche a conduit à sa standardisation ultérieure sous la norme ECMA-404<sup id="cite_ref-:1_2-1" class="reference"><a href="#cite_note-:1-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> d'<a href="Ecma_International" title="Ecma International">Ecma International</a>, publiée en octobre 2003<sup id="cite_ref-:1_2-2" class="reference"><a href="#cite_note-:1-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>. Il est également décrit en 2017 par la <a href="Request_for_comments" title="Request for comments">RFC</a> 8259<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> de l’<a href="Internet_Engineering_Task_Force" title="Internet Engineering Task Force">Internet Engineering Task Force</a> qui se veut compatible avec ECMA-404 et ECMA-404.
</p><p>Des <a href="Biblioth%C3%A8que_logicielle" title="Bibliothèque logicielle">bibliothèques</a> pour le format JSON existent dans de nombreux <a href="Langage_de_programmation" title="Langage de programmation">langages de programmation</a><sup id="cite_ref-:0_4-0" class="reference"><a href="#cite_note-:0-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>.
</p>

<div class="mw-heading mw-heading2"><h2 id="Caractéristiques"><span id="Caract.C3.A9ristiques"></span>Caractéristiques</h2></div>
<p>Un texte en JSON comprend<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-:0_4-1" class="reference"><a href="#cite_note-:0-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>&nbsp;:
</p>
<ul><li>deux <a href="Type_(informatique)" title="Type (informatique)">types composés</a>&nbsp;:
<ul><li>des <a href="Tableau_associatif#Javascript" title="Tableau associatif">objets JavaScript</a>, ou ensembles de paires «&nbsp;nom&nbsp;» (ou «&nbsp;clé&nbsp;») / «&nbsp;valeur&nbsp;»,</li>
<li>des <a href="Liste_(informatique)" title="Liste (informatique)">listes</a> ordonnées de valeurs (<a href="Tableau_(structure_de_donn%C3%A9es)" title="Tableau (structure de données)">tableau</a>)&nbsp;;</li></ul></li>
<li>quatre <a href="Type_(informatique)" title="Type (informatique)">types</a> scalaires&nbsp;:
<ul><li>des <a href="Bool%C3%A9en" title="Booléen">booléens</a>&nbsp;: prend la valeur <i>true</i> ou <i>false</i>,</li>
<li>des <a href="Nombre" title="Nombre">nombres</a>&nbsp;: un nombre décimal signé qui peut contenir une part fractionnable ou élevée à la puissance. Le JSON n'admet pas les nombres inexistants (<a href="NaN" title="NaN">NaN</a>), et ne distingue pas les <a href="Entier_naturel" title="Entier naturel">entiers</a> et les <a href="Virgule_flottante" title="Virgule flottante">flottants</a>,</li>
<li>des <a href="Cha%C3%AEne_de_caract%C3%A8res" title="Chaîne de caractères">chaînes de caractères</a>&nbsp;: une séquence de 0 ou plus caractères <a href="Unicode" title="Unicode">Unicode</a>. À l'instar des clés, elles sont obligatoirement entourées de guillemets,</li>
<li>la valeur <span class="lang-en" lang="en"><a href="Null" title="Null">null</a></span>&nbsp;: qualifie l'absence de valeur.</li></ul></li></ul>
<p>Chacun de ces types peut être utilisé pour constituer un document.
</p>
<div class="mw-heading mw-heading2"><h2 id="Exemple">Exemple</h2></div>
<p>Exemple de texte au format JSON&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-json mw-content-ltr" dir="ltr"><pre><span></span><span class="p">{</span>
<span class="w"> </span><span class="nt">"menu"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"file"</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"File"</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"popup"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">"menuitem"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"New"</span><span class="p">,</span><span class="w"> </span><span class="nt">"onclick"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CreateNewDoc()"</span><span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Open"</span><span class="p">,</span><span class="w"> </span><span class="nt">"onclick"</span><span class="p">:</span><span class="w"> </span><span class="s2">"OpenDoc()"</span><span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Close"</span><span class="p">,</span><span class="w"> </span><span class="nt">"onclick"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CloseDoc()"</span><span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
<p>Équivalent au format <a href="Extensible_Markup_Language" title="Extensible Markup Language">XML</a>&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-xml mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="nt">&lt;menu</span><span class="w"> </span><span class="na">id=</span><span class="s">"file"</span><span class="w"> </span><span class="na">value=</span><span class="s">"File"</span><span class="nt">&gt;</span>
<span class="w"> </span><span class="nt">&lt;popup&gt;</span>
<span class="w"> </span><span class="nt">&lt;menuitem</span><span class="w"> </span><span class="na">value=</span><span class="s">"New"</span><span class="w"> </span><span class="na">onclick=</span><span class="s">"CreateNewDoc()"</span><span class="nt">/&gt;</span>
<span class="w"> </span><span class="nt">&lt;menuitem</span><span class="w"> </span><span class="na">value=</span><span class="s">"Open"</span><span class="w"> </span><span class="na">onclick=</span><span class="s">"OpenDoc()"</span><span class="nt">/&gt;</span>
<span class="w"> </span><span class="nt">&lt;menuitem</span><span class="w"> </span><span class="na">value=</span><span class="s">"Close"</span><span class="w"> </span><span class="na">onclick=</span><span class="s">"CloseDoc()"</span><span class="nt">/&gt;</span>
<span class="w"> </span><span class="nt">&lt;/popup&gt;</span>
<span class="w"> </span><span class="nt">&lt;/menu&gt;</span>
</pre></div>
<p>Équivalent au format <a href="YAML" title="YAML">YAML</a>&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nt">menu</span><span class="p">:</span>
<span class="w"> </span><span class="nt">id</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">file</span>
<span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">File</span>
<span class="w"> </span><span class="nt">popup</span><span class="p">:</span>
<span class="w"> </span><span class="nt">menuitem</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">New</span>
<span class="w"> </span><span class="nt">onclick</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CreateNewDoc()</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Open</span>
<span class="w"> </span><span class="nt">onclick</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">OpenDoc()</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Close</span>
<span class="w"> </span><span class="nt">onclick</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CloseDoc()</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Commentaires">Commentaires</h2></div>
<p>JSON est un format d'échange de données dont la RFC n'admet pas les <a href="Commentaire_(informatique)" title="Commentaire (informatique)">commentaires</a>, qui sont par nature des <a href="M%C3%A9tadonn%C3%A9e" title="Métadonnée">métadonnées</a>. Un <a href="Analyse_syntaxique" title="Analyse syntaxique">analyseur syntaxique</a> JSON strict détecte une erreur s'il rencontre un caractère non prévu par la spécification.
</p><p>Il existe des initiatives de formats étendant JSON pour ajouter des commentaires (comme Hjson<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> pour <i>Human JSON</i> en anglais) et des logiciels permettant de restituer, à partir de ces formats dérivés, du JSON standard. Toutefois, ces fichiers, demandant alors une étape supplémentaire avant de pouvoir être lus par un interpréteur JSON standard, perdent légèrement en facilité d'<a href="Interop%C3%A9rabilit%C3%A9" title="Interopérabilité">interopérabilité</a>.
</p><p>
On peut toujours ajouter une propriété à un champ dans un tableau associatif JSON, la nommer "_comment" (un usage qui se développe<sup class="need_ref_tag" style="padding-left:2px;"><span title="Ce passage devrait préciser au minimum la décennie ou l'année ; voir l'aide.">[Quand&nbsp;?]</span></sup><sup class="need_ref_tag" style="padding-left:2px;"><span title="Ce passage nécessite une référence ; voir l'aide.">[réf.&nbsp;nécessaire]</span></sup>), et mettre un texte (le commentaire) dans le champ valeur&nbsp;:</p><div class="mw-highlight mw-highlight-lang-json mw-content-ltr" dir="ltr"><pre><span></span><span class="p">{</span>
<span class="w"> </span><span class="nt">"_comment"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Imported from Wikidata 2015-05-27 10:13."</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"QID"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Q5502001"</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Adèle"</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"description"</span><span class="p">:</span><span class="w"> </span><span class="s2">"late 18th century, early 19th century French brig"</span>
<span class="p">}</span>
</pre></div>
<p>Durant la mise au point du format, <a href="Douglas_Crockford" title="Douglas Crockford">Douglas Crockford</a> constate que certains des premiers utilisateurs du JSON ajoutent des commentaires dans le but de donner des directives au parseur<sup id="cite_ref-Crockford_2012_7-0" class="reference"><a href="#cite_note-Crockford_2012-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>, à l'image des instructions <code>#ifdef</code> ou <code>#define</code> du <a href="Pr%C3%A9processeur_C" title="Préprocesseur C">préprocesseur C</a>. Il y voit un danger pour l'interopérabilité, une priorité du format, et décide de les retirer<sup id="cite_ref-Crockford_2012_7-1" class="reference"><a href="#cite_note-Crockford_2012-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>. En 2012, il s'explique sur ce choix et reconnait être conscient de la tristesse des utilisateurs de ne pouvoir commenter ces fichiers<sup id="cite_ref-Crockford_2012_7-2" class="reference"><a href="#cite_note-Crockford_2012-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Usages">Usages</h2></div>
<p>Bien qu’utilisant une notation <a href="JavaScript" title="JavaScript">JavaScript</a>, JSON est indépendant du langage de programmation (plusieurs dizaines de langages de programmation ont intégré JSON). JSON sert à faire communiquer des applications dans un environnement hétérogène. Il est notamment utilisé comme langage de transport de données par <a href="Asynchronous_JavaScript_And_XML" class="mw-redirect" title="Asynchronous JavaScript And XML">AJAX</a> et les <a href="Service_Web" class="mw-redirect" title="Service Web">services Web</a>. D’autres solutions sont possibles comme <a href="Extensible_Markup_Language" title="Extensible Markup Language">XML</a>. Le type <a href="Multipurpose_Internet_Mail_Extensions" title="Multipurpose Internet Mail Extensions">MIME</a> <i>application/json</i> est utilisé pour le transmettre par le protocole <a href="Hypertext_Transfer_Protocol" title="Hypertext Transfer Protocol">HTTP</a>.
</p><p>Un document JSON représente un tableau associatif, implémenté en JavaScript par la classe <a href="Tableau_associatif#Javascript" title="Tableau associatif">Object</a>, d’où le nom de ce premier. Il est donc potentiellement plus facile à interpréter qu’un <a href="Extensible_Markup_Language" title="Extensible Markup Language">XML</a> qui imposera le recours à des techniques souvent plus lourdes qu’un accès direct, telles que le parcours hiérarchique de l’arbre <a href="Document_Object_Model" title="Document Object Model">DOM</a> représenté par le document entier.
</p><p>Il peut aussi être utilisé pour&nbsp;:
</p>
<ul><li>la <a href="S%C3%A9rialisation" title="Sérialisation">sérialisation</a> et dé-sérialisation de tableaux associatifs&nbsp;;</li>
<li>l’encodage de documents&nbsp;;</li>
<li>l'encodage de <a href="Web_des_donn%C3%A9es" title="Web des données">données structurées</a>&nbsp;;</li>
<li>les <a href="Fichiers_de_configuration" class="mw-redirect" title="Fichiers de configuration">fichiers de configuration</a>.</li></ul>
<p>La syntaxe utilisée par les modules disponibles dans différents langages de programmation peut varier. Par exemple, avec le module <i>json</i> de la bibliothèque standard de Python, il faudra adapter la syntaxe du langage Python qui diffère de celle utilisée par le format JSON&nbsp;:
</p>
<ul><li>Pour les chaînes de caractères, seuls les guillemets doubles sont acceptés.</li>
<li>Les booléens s'écrivent tout en minuscule (<code>true</code> et <code>false</code>).</li>
<li>L'objet <code>None</code> est représenté par <code>null</code></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Évaluation"><span id=".C3.89valuation"></span>Évaluation</h2></div>
<p>En <a href="JavaScript" title="JavaScript">JavaScript</a>, il est simple d’évaluer une expression JSON pour la transformer en <a href="Tableau_associatif#Javascript" title="Tableau associatif">Object</a> natif&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nx">donnees</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">eval</span><span class="p">(</span><span class="s1">'('</span><span class="o">+</span><span class="nx">donnees_json</span><span class="o">+</span><span class="s1">')'</span><span class="p">);</span>
</pre></div>
<p>Cette méthode comporte toutefois des risques car la chaîne de caractères <code>donnees_json</code> peut contenir n’importe quel code <a href="JavaScript" title="JavaScript">JavaScript</a>. Il existe une méthode plus sûre qui consiste à <i><a href="Analyse_syntaxique" title="Analyse syntaxique">analyser la syntaxe</a></i> de la chaîne de caractères <code>donnees_json</code>, seule solution disponible dans les autres langages de programmation, à l’exception de <a href="Python_(langage)" title="Python (langage)">Python</a>, la syntaxe de JSON correspondant à ses deux types principaux&nbsp;: les listes et les dictionnaires.
</p><p>À partir de <a href="2009_en_informatique" title="2009 en informatique">2009</a>, les navigateurs commencent à intégrer un support natif du format JSON. Cela facilite sa manipulation, la sécurité (contre l’évaluation de scripts malveillants inclus dans une chaîne JSON), et la rapidité de traitement. Ainsi les navigateurs <a href="Mozilla_Firefox" title="Mozilla Firefox">Firefox</a> 3.5, <a href="Internet_Explorer" title="Internet Explorer">IE</a> 8 ou encore <a href="Opera" title="Opera">Opera</a> 10.5 l’intègrent en natif<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>.
</p><p>Évaluer en JavaScript une expression JSON pour la transformer en Object se fait alors de la manière suivante&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nx">donnees</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">JSON</span><span class="p">.</span><span class="nx">parse</span><span class="p">(</span><span class="nx">donnees_json</span><span class="p">);</span>
</pre></div>
<p>Différentes <a href="Biblioth%C3%A8que_logicielle" title="Bibliothèque logicielle">bibliothèques</a> javascript permettent de supporter des navigateurs plus anciens avec une syntaxe similaire.
</p>
<div class="mw-heading mw-heading2"><h2 id="Extensions_du_format">Extensions du format</h2></div>
<div class="mw-heading mw-heading3"><h3 id="JSONP">JSONP</h3></div>
<p><b>JSONP ou JSON-P</b> (pour <span class="lang-en" lang="en"><i>JSON with padding</i></span>, en français, «&nbsp;JSON avec formatage&nbsp;») est une extension dans laquelle le nom de la fonction de retour est indiqué<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>. L’idée originale proviendrait du blog de Bob Ippolito en 2005<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> et est maintenant répandue dans les applications <span class="nowrap"><a href="Web_2.0" title="Web 2.0">Web 2.0</a></span>, telle que <span class="lang-en" lang="en"><i>Google’s toolkit Applications</i></span><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>. Des améliorations sont prévues pour y ajouter des arguments<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>.
</p><p>JSONP utilise des balises de scripts, les appels sont ouverts. Ainsi, JSONP peut être inapproprié pour transporter des informations confidentielles.
</p>
<div class="mw-heading mw-heading3"><h3 id="JSON5">JSON5</h3></div>
<p><b>JSON5</b> est une extension de la syntaxe du JSON, destiné à contourner les limitations de ce dernier.
</p>
<div class="mw-heading mw-heading4"><h4 id="Spécifications"><span id="Sp.C3.A9cifications"></span>Spécifications</h4></div>
<ul><li>Les noms des champs ne sont plus entre guillemets</li>
<li>Support des commentaires (sur une ou plusieurs lignes)</li>
<li>Les nombres peuvent être représentés au format hexadécimal, être précédés du signe positif (+), avoir pour valeur Infinity ou NaN</li>
<li>Espaces blancs supplémentaires autorisés</li>
<li>Les chaînes de caractères peuvent être contenus entre apostrophes</li></ul>
<div class="mw-heading mw-heading3"><h3 id="HJSON">HJSON</h3></div>
<p><b>HJSON</b> est une extension de la syntaxe JSON, ayant le même objectif que JSON5 (voir ci-dessus).
</p>
<div class="mw-heading mw-heading4"><h4 id="Spécifications_2"><span id="Sp.C3.A9cifications_2"></span>Spécifications</h4></div>
<ul><li>Les champs peuvent être séparés par un retour à la ligne au lieu d'une virgule</li>
<li>Possibilité d'écrire des commentaires (#, //, /* ... */)</li>
<li>L'utilisation des guillemets pour encapsuler une chaîne de caractères n'est pas obligatoire</li>
<li>Les chaînes de caractères peuvent être écrites sur plusieurs lignes</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Annexes">Annexes</h2></div>
<style data-mw-deduplicate="TemplateStyles:r194021218">
/* start https://fr.wikipedia.org/ */


.mw-parser-output .autres-projets>.titre{text-align:center;margin:0.2em 0}.mw-parser-output .autres-projets>ul{margin:0;padding:0}.mw-parser-output .autres-projets>ul>li{list-style:none;margin:0.2em 0;text-indent:0;padding-left:24px;min-height:20px;text-align:left;display:block}.mw-parser-output .autres-projets>ul>li>a{font-style:italic}@media(max-width:720px){.mw-parser-output .autres-projets{float:none}}


/* end https://fr.wikipedia.org/ */
</style>
<div class="mw-heading mw-heading3"><h3 id="Articles_connexes">Articles connexes</h3></div>
<ul><li><a href="BSON" title="BSON">BSON</a> (<i>Binary JSON</i>)&nbsp;: un format étendant les possibilités du JSON (données temporelles, binaires, etc.), notamment utilisé par <a href="MongoDB" title="MongoDB">MongoDB</a>&nbsp;;</li>
<li><a href="TopoJSON" title="TopoJSON">TopoJSON</a>&nbsp;: un format de stockage des données topologiques&nbsp;;</li>
<li><a href="GeoJSON" title="GeoJSON">GeoJSON</a>&nbsp;: un format de stockage des données géographiques&nbsp;;</li>
<li><a href="YAML" title="YAML">YAML</a>&nbsp;: un autre langage de sérialisation de données.</li>
<li><a href="JSON-LD" title="JSON-LD">JSON-LD</a>&nbsp;: (pour JavaScript Object Notation for Link Data) est un standard du <a href="World_Wide_Web_Consortium" title="World Wide Web Consortium">W3C</a> pour <a href="Web_des_donn%C3%A9es" title="Web des données">structurer des données sur le web</a> en utilisant du JSON<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3></div>
<ul><li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://json5.org/">JSON5</a></li>
<li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://hjson.github.io/">HJSON</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Références"><span id="R.C3.A9f.C3.A9rences"></span>Références</h2></div>
<div class="references-small decimal" style=""><div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><span class="ouvrage">«&nbsp;<a rel="nofollow" class="external text" href="https://wdi.supelec.fr/appliouaibe/Cours/XML"><cite style="font-style:normal;">Structuration des donnees: XML et JSON</cite></a>&nbsp;», sur <span class="italique">wdi.supelec.fr</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2023-02-04" data-sort-value="2023-02-04">4 février 2023</time>)</small></span></span>
</li>
<li id="cite_note-:1-2"><span class="reference-text"><span class="ouvrage" id="International2017"><span class="ouvrage" id="ECMA_International2017">ECMA International, <cite class="italique">Standard ECMA-404&nbsp;: The JSON Data
Interchange Syntax</cite>, 114 Rue du Rhône, CH-1204 Geneva, ECMA International, <time class="nowrap" datetime="2017-12" data-sort-value="2017-12">décembre 2017</time>, <abbr class="abbr" title="deuxième">2<sup>e</sup></abbr>&nbsp;<abbr class="abbr" title="édition">éd.</abbr>, 16&nbsp;<abbr class="abbr" title="pages">p.</abbr> <small style="line-height:1em;">(<a rel="nofollow" class="external text" href="https://ecma-international.org/wp-content/uploads/ECMA-404.pdf">lire en ligne</a>)</small>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;1, 5<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Standard+ECMA-404&amp;rft.place=114+Rue+du+Rh%C3%B4ne%2C+CH-1204+Geneva&amp;rft.pub=ECMA+International&amp;rft.edition=2&amp;rft.stitle=The+JSON+Data%0AInterchange+Syntax&amp;rft.aulast=International&amp;rft.aufirst=ECMA&amp;rft.date=2017-12&amp;rft.pages=1%2C+5&amp;rft.tpages=16&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3AJavaScript+Object+Notation"></span></span></span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2017"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<cite style="font-style:normal" lang="en"><abbr class="abbr" title="Request for comments" lang="en">RFC</abbr>&nbsp;8259: The JavaScript Object Notation (JSON) Data Interchange Format</cite>&nbsp;», <i><span class="lang-en" lang="en">IETF Datatracker</span></i>,‎ <time class="nowrap" datetime="2017-12-13" data-sort-value="2017-12-13">13 décembre 2017</time> <small style="line-height:1em;">(<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc8259">lire en ligne</a>, consulté le <time class="nowrap" datetime="2023-02-04" data-sort-value="2023-02-04">4 février 2023</time>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=RFC%26nbsp%3B8259%3A+The+JavaScript+Object+Notation+%28JSON%29+Data+Interchange+Format&amp;rft.jtitle=IETF+Datatracker&amp;rft.date=2017-12-13&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3AJavaScript+Object+Notation"></span></span></span>
</li>
<li id="cite_note-:0-4"><span class="reference-text"><span class="ouvrage">«&nbsp;<a rel="nofollow" class="external text" href="https://www.json.org/json-fr.html"><cite style="font-style:normal;">JSON</cite></a>&nbsp;», sur <span class="italique">www.json.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2023-02-04" data-sort-value="2023-02-04">4 février 2023</time>)</small></span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a> </span><span class="reference-text"><span class="ouvrage" id="CrozatJerphanionCarrel-BilliardUzan"><span class="ouvrage" id="Stéphane_CrozatJulien_JerphanionHarold_Carrel-BilliardMaxime_Uzan">Stéphane Crozat, Julien Jerphanion, Harold Carrel-Billiard, Maxime Uzan et Cécile Fecherolle, «&nbsp;<a rel="nofollow" class="external text" href="https://librecours.net/module/bdd0/nosql/json.xhtml"><cite style="font-style:normal;">JavaScript Object Notation [Introduction aux bases de données NoSQL]</cite></a>&nbsp;», sur <span class="italique">librecours.net</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2023-02-04" data-sort-value="2023-02-04">4 février 2023</time>)</small></span></span></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://hjson.github.io/"><cite style="font-style:normal;" lang="en">Hjson, a user interface for JSON</cite></a>&nbsp;», sur <span class="italique">hjson.github.io</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-02-05" data-sort-value="2020-02-05">5 février 2020</time>)</small></span></span>
</li>
<li id="cite_note-Crockford_2012-7"><span class="reference-text"><span class="ouvrage" id="Crockford2012"><span class="ouvrage" id="Douglas_Crockford2012">Douglas Crockford, <span class="noarchive">«&nbsp;<a rel="nofollow" class="external text" href="https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr"><cite style="font-style:normal; color:var(--color-link-red, #d73333);">Comments in JSON</cite></a>&nbsp;»<sup class="">(<a rel="nofollow" class="external text" href="https://web.archive.org/web/*/https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr">Archive.org</a> • <a rel="nofollow" class="external text" href="https://archive.wikiwix.com/cache/?url=https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr">Wikiwix</a> • <a rel="nofollow" class="external text" href="https://archive.is/https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr">Archive.is</a> • <a rel="nofollow" class="external text" href="https://webcache.googleusercontent.com/search?hl=fr&amp;q=cache:https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr">Google</a> • Que faire&nbsp;?)</sup></span>, sur <span class="italique">Publications du compte Google+ de Douglas Crockford</span>, <time class="nowrap" datetime="2012-05-01" data-sort-value="2012-05-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> mai 2012</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2015-05-27" data-sort-value="2015-05-27">27 mai 2015</time>)</small></span></span></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://caniuse.com/#feat=json"><cite style="font-style:normal;" lang="en">Can I use... JSON parsing</cite></a>&nbsp;», sur <span class="italique">caniuse.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-02-05" data-sort-value="2020-02-05">5 février 2020</time>)</small></span></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a> </span><span class="reference-text"><span class="ouvrage">«&nbsp;<a rel="nofollow" class="external text" href="https://www.journaldunet.com/web-tech/developpeur/1055681-le-format-json-ajax-et-jquery/1055686-une-requete-inter-domaine-a-l-aide-de-jsonp"><cite style="font-style:normal;">Une requête inter-domaine à l'aide de JSONP</cite></a>&nbsp;», sur <span class="italique">www.journaldunet.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-02-05" data-sort-value="2020-02-05">5 février 2020</time>)</small></span></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2005"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="http://bob.ippoli.to/archives/2005/12/05/remote-json-jsonp/"><cite style="font-style:normal;" lang="en"><span class="lang-en" lang="en"><i>Remote JSON - JSONP</i></span></cite></a>&nbsp;», <time class="nowrap" datetime="2005-12-05" data-sort-value="2005-12-05">5 décembre 2005</time></span>.</span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><a href="#cite_ref-11">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="http://www.gwtapps.com/?p=42"><cite style="font-style:normal;" lang="en"><span class="lang-en" lang="en"><i>GWT Tutorial: How to Read Web Services Client-Side with JSONP</i></span></cite></a>&nbsp;»</span>.</span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><a href="#cite_ref-12">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2008"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://sites.google.com/a/s3db.org/s3db/documentation/mis/json-jsonp-jsonpp"><cite style="font-style:normal;" lang="en">JSONPP</cite></a>&nbsp;», <time class="nowrap" datetime="2008-06-11" data-sort-value="2008-06-11">11 juin 2008</time></span>.</span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><a href="#cite_ref-13">↑</a> </span><span class="reference-text"><span class="ouvrage" id="W3C2020"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> W3C, «&nbsp;<a rel="nofollow" class="external text" href="https://www.w3.org/ns/json-ld"><cite style="font-style:normal;" lang="en">The JSON-LD Vocabulary</cite></a>&nbsp;», <time class="nowrap" datetime="2020-01-03" data-sort-value="2020-01-03">3 janvier 2020</time></span></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><a href="#cite_ref-14">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://schema.org/"><cite style="font-style:normal;" lang="en">Home - schema.org</cite></a>&nbsp;», sur <span class="italique">schema.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-02-05" data-sort-value="2020-02-05">5 février 2020</time>)</small></span></span>
</li>
</ol></div>
</div>
<div class="navbox-container" style="clear:both;">


</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de l’informatique</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de la programmation informatique</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-10-25" href="https://fr.wikipedia.org/wiki/?title=JavaScript_Object_Notation&amp;oldid=230061336">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>